package com.rainy.generator.dao;

import com.rainy.generator.entity.TableEntity;
import com.rainy.generator.entity.TableQuery;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author liuqin
 */
public interface TableDao {

	/**
	 * 查询单个表
	 * @param tableName t
	 * @return t
	 */
	TableEntity queryTable(@Param("db") String db, @Param("tableName") String tableName);

	/**
	 * 查询条件下列表
	 * @param tableQuery
	 * @return
	 */
	List<TableEntity> queryTables(TableQuery tableQuery);

	/**
	 * 查询条件下表总数目
	 * @param tableQuery
	 * @return
	 */
	Long queryCount(TableQuery tableQuery);

	/**
	 * 根据表查询列
	 * @param tableName
	 * @return
	 */
	List<Map<String,String>> queryColumns(@Param("db") String db,@Param("tableName") String tableName);

	/**
	 * 查询数据库列表
	 * @return
	 */
	List<String> queryDataBases();

	String getConnectDb();


}
